package com.project.gcsj5.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.gcsj5.model.Booklist;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 书单-书籍关联关系 Mapper 接口
 * 提供对 booklist 表的基础CRUD及自定义操作
 */
@Mapper // 标识为MyBatis的Mapper接口
public interface BooklistMapper extends BaseMapper<Booklist> {

    /**
     * 根据书单ID查询关联记录
     * @param id 书单ID
     * @return 返回该书单下的所有书籍关联记录
     */
    @Select("SELECT * FROM booklist WHERE re_id = #{id}")
    List<Booklist> find_re_id(int id);

    /**
     * 根据书单ID删除所有关联记录
     * @param id 要删除的书单ID
     * @return 删除是否成功
     */
    @Delete("DELETE FROM booklist WHERE re_id = #{id}")
    Boolean del_re_id(int id);

    /**
     * 批量插入书单-书籍关联关系
     * 注意：当前SQL实现可能需要调整为真正的批量插入语法
     * @param booklists 要插入的关联关系列表
     * @return 插入的记录数
     */
    @Insert("INSERT INTO booklist (re_id, book_id) VALUES (#{reId}, #{bookId})")
    int insert_many(@Param("booklists") List<Booklist> booklists);
}